This few methods should help! Using Value parameter block (VPB) - a container for action parameters. @see AIActionManagerSuite void ActionHelper::VPB::SetSaveDocumentAsName(const ai::FilePath& name) { SDK_ASSERT(sAIActionManager); ASErr result = sAIActionManager->AIActionSetStringUS(this->fActionParamValueRef, kAISaveDocumentAsNameKey, name.GetFullPath()); aisdk::check_ai_error(result); } void ActionHelper::VPB::SetSaveDocumentAsGetParams(ASBoolean getParams) { ASErr result = sAIActionManager->AIActionSetBoolean(this->fActionParamValueRef, kAISaveDocumentAsGetParamsKey, getParams); aisdk::check_ai_error(result); } ASErr ActionHelper::SaveDocumentAs(const ai::UnicodeString& name, DocumentActionHelper::VPB& vpb) { ASErr result = kNoErr; try { ai::FilePath path(name); vpb.SetSaveDocumentAsName(path); // Enable dialogs parameter. vpb.SetSaveDocumentAsGetParams(false); ActionDialogStatus dialogStatus = name.empty() ? kDialogOn : kDialogOff; result = this->SaveDocumentAs(dialogStatus, vpb); aisdk::check_ai_error(result); } catch (ai::Error& ex) { result = ex; } return result; } ASErr ActionHelper::SaveDocumentAs(ActionDialogStatus dialogStatus, AIActionParamValueRef parameters) { ASErr result = kNoErr; try { SDK_ASSERT(sAIActionManager); result = sAIActionManager->PlayActionEvent(kAISaveDocumentAsAction, dialogStatus, parameters); aisdk::check_ai_error(result); } catch (ai::Error& ex) { result = ex; } return result; }
... View more